<?php
// **************************************************************
// | Name: 星空框架 计划任务创建
// **************************************************************
// | Version: V5.0
// **************************************************************
// | Author： xkyinzhe <zhonghuaxinxing@sina.cn>
// **************************************************************
// | City: 青岛
// **************************************************************
// | Time: 2021-09-18 09:09
// **************************************************************
declare(strict_types=1);

namespace app\common\services;

use think\facade\Queue;

/**
 * @xk 计划任务
 */
class Task
{
    /**
     * @xk 计划任务创建
     *
     * @method put
     * @param  string     $jobData                   [任务数据]
     * @param  integer    $delay                     [延迟时间]
     * @return [type]     [description]
     * @Time   2021-09-18
     * @City   青岛
     * @Author xkyinzhe   <zhonghuaxinxing@sina.cn>
     */
    public function put($jobData='', $delay=0)
    {
        $jobClassName = config('task.jobClassName');
        $jobQueueName = config('task.jobQueueName');
        $isPut = Queue::later($delay, $jobClassName, $jobData, $jobQueueName);
        if ($isPut !== false && $isPut !== 0) {
            $content = json_encode($jobData)."---".$jobQueueName."--".$isPut."-----".$delay."--[队列延迟]----SUCCESS\n";
            $path = 'task/task_success/';
        } else {
            $content = json_encode($jobData)."--".$delay."--[队列延迟]----error\n";
            $path = 'task/task_error/';
        }
        createLog($path, $content);
    }
}
